package com.xiaolin.designmode.flyweight;

/**
 * @ClassName Flyweight
 * @Description 抽象享元角色
 * @Detail 享元（Flyweight）模式的定义：运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、
 *          避免大量相似类的开销，从而提高系统资源的利用率。
 *              1、步骤
 *                  1、创建抽象享元角色
 *                  2、创建具体享元对角色
 *                  3、创建非享元角色
 *                  4、创建享元工厂角色
 *                  5、测试
 *              2、总结：
 *                  1、角色
 *                      1、抽象享元角色
 *                      2、具体享元角色
 *                      3、创建非享元角色
 *                      4、享元工厂角色
 *                  2、适用场景
 *                      如五子棋同围棋一样，包含多个“黑”或“白”颜色的棋子，所以用享元模式比较好。
 *
 * @Author MyPC
 * @Date 2020/11/3
 * @Version 1.0
 */
public interface Flyweight {
    void operation(UnsharableFlyweight unsharableFlyweight);
}
